package com.infra.micro.quartz.domain.service;

import com.infra.common.resp.Page;
import com.infra.common.resp.Response;
import com.infra.micro.quartz.domain.entity.QuartzJobLogPO;

import java.util.List;

public interface QuartzJobLogService {

    /**
     * 主键更新
     *
     * @param record
     * @return
     */
    boolean update(QuartzJobLogPO record);

    /**
     * 插入
     *
     * @param record
     * @return
     */
    boolean insert(QuartzJobLogPO record);

    /**
     * 根据ID查询详情
     *
     * @param logId
     * @return
     */
    Response<QuartzJobLogPO> queryById(Long logId);

    /**
     * 根据ID删除日志
     *
     * @param logId
     * @return
     */
    Response<Integer> deleteById(Long logId);

    /**
     * 根据ID集合删除日志
     *
     * @param logIds
     * @return
     */
    Response<Integer> batchDeleteByIds(List<Long> logIds);

    /**
     * 根据jobId查询分页条件日志列表
     *
     * @param jobId
     * @param page
     * @return
     */
    Response<Page<QuartzJobLogPO>> queryListByJobId(Long jobId, Page<QuartzJobLogPO> page);

    /**
     * 根据分页条件查询日志列表
     *
     * @param page
     * @return
     */
    Response<Page<QuartzJobLogPO>> queryListByConf(Page<QuartzJobLogPO> page);
}
